package com.meimeixia.pattern.prototype.demo;

/**
 * @author liayun
 * @create 2021-06-02 6:30
 */
public class Client {
    public static void main(String[] args) throws CloneNotSupportedException {
        // 创建一个原型类对象
        Realizetype realizetype = new Realizetype();
        // 调用原型类（即Realizetype）中的clone方法进行对象的克隆
        Realizetype clone = realizetype.clone();
        System.out.println("原型对象和克隆出来的是否是同一个对象呢？" + (realizetype == clone));//false
    }

    /*
    * 最后运行以上测试类看结果，如下图所示，打印结果是false，即原型对象和克隆出来的对象不是同一个对象，
    * 而且你还能从中发现先是调用了Realizetype类的无参构造方法去创建对象，再是去调用clone方法复制对象，大家注意看哟，在复制对象时，
    * 有没有再去执行无参构造方法啊？没有，这说明底层不是通过new对象的方式去克隆一个新对象的，而是通过调用clone方法。*/
}
